home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / parallel / reqreadi < prev    next >
Text File  |  1992-04-11  |  61KB  |  1,792 lines

  1.  
  2. %Z Date: Tue, 9 Apr 91 14:40:40 -0700
  3. %A George S. Almasi
  4. %A Allan Gottlieb
  5. %T Highly Parallel Computing
  6. %I Benjamin/Cummings division of Addison Wesley Inc.
  7. %D 1989
  8. %K ISBN # 0-8053-0177-1, book, text, Ultracomputer, grequired91,
  9. %K enm, cb@uk, ag, jlh, dp, gl,
  10. %$ $36.95
  11. %X This is a kinda neat book.  There are special net
  12. anecdotes which makes this interesting.
  13. %X Oh, there are a few significant typos: LINPAK is really LINPACK. Etc.
  14. %X (JLH & DP) The authors discuss the basic foundations, applications,
  15. programming models, language and operating system issues and a wide
  16. variety of architectural approaches.  The discussions of parallel
  17. architectures include a section that describes the key concepts within
  18. a particular approach.
  19.  
  20. %A C. L. Seitz
  21. %T The Cosmic Cube
  22. %J Communications of the ACM
  23. %V 28
  24. %N 1
  25. %D January 1985
  26. %P 22-33
  27. %r Hm83
  28. %d June 1984
  29. %K enm, dmp, jlh, dp, j\-lb,
  30. %K CR Categories and Subject Descriptors: C.1.2 [Processor Architectures]:
  31. Multiple Data Stream Architectures (Multiprocessors);
  32. C.5.4 [Computer System Implementation]: VLSI Systems;
  33. D.1.2 [Programming Techniques]: Concurrent Programming;
  34. D.4.1 [Operating Systems]: Process Management
  35. General terms: Algorithms, Design, Experimentation
  36. Additional Key Words and Phrases: highly concurrent computing,
  37. message-passing architectures, message-based operating systems,
  38. process programming, object-oriented programming, VLSI systems,
  39. homogeneous machine, hypercube, C^3P,
  40. grequired, Rcccp, Rhighnam,
  41. %X Excellent survey of this project.
  42. Reproduced in "Parallel Computing: Theory and Comparisons,"
  43. by G. Jack Lipovski and Miroslaw Malek,
  44. Wiley-Interscience, New York, 1987, pp. 295-311, appendix E.
  45. %X * Brief survey of the cosmic cube, and its hardware
  46. %X (JLH & DP) This is a good discussion of the Caltech approach, which
  47. embodies the ideas several of these machines (often called hypercubes).
  48. The work at Caltech is the basis for the machines at JPL and the Intel iPSC,
  49. as well as closely related to the NCUBE design.  Another paper by Seitz
  50. on this same topic appears in the Dec. 1984 issue of IEEE Trans.
  51. on Computers.
  52. %X Literature search yielded:
  53. 1450906 C85023854
  54. The Cosmic Cube (Concurrent Computing)
  55. Seitz, C.L.
  56. Author Affil: Dept. Of Comput. Sci., California Inst. Of Technol.,
  57. Pasadena, Ca, Usa
  58. Source: Commun. Acm (Usa) Vol.28, No.1, Pp.: 22-33
  59. Publication Year: Jan. 1985
  60. Coden: Cacma2 Issn: 0001-0782
  61. U. S. Copyright Clearance Center Code: 0001-0782/85/0100-002275c
  62. Treatment: Practical;
  63. Document Type: Journal Paper
  64. Languages: English
  65. (14 Refs)
  66. Abstract: Sixty-four small computers are connected by a network of
  67. point-to-point communication channels in the plan of a binary 6-cube. this
  68. cosmic cube computer is a hardware simulation of a future vlsi
  69. implementation that will consist of single-chip nodes. the machine offers
  70. high degrees of concurrency in applications and suggests that future
  71. machines with thousands of nodes are both feasible and attractive. it uses
  72. message switching instead of shared variables for communicating between
  73. concurrent processes.
  74. descriptors: multiprocessing systems; message switching
  75. identifiers: message passing architectures; process programming; vlsi
  76. systems; point-to-point communication channels; binary 6-cube; cosmic cube;
  77. hardware simulation; VLSI implementation; single-chip nodes; concurrency
  78. class codes: C5440; C5620
  79.  
  80. %A M. Ben-Ari
  81. %T Principles of Concurrent Programming
  82. %C Englewood Cliffs, NJ
  83. %I Prentice-Hall
  84. %D 1986
  85. %$ 29
  86. %O ISBN 0-13-711821-X.
  87. %K book, text,
  88. %K grequired91,
  89. %K sc, +3 votes posted from c.e. discussion.
  90. %X The text covers all the significant paradigms and basic concurrency
  91. concepts with examples in a pseudo language similar to C.
  92. Syllabus for our course includes:
  93. 1. concurrent I/O and interrupt processing
  94. 2. concurrent programming abstractions
  95. 3. intro. to LSC and transputers
  96. 4. mutual exclusion; problems and principles
  97. 5. semaphores and monitors
  98. 6. synchronization
  99. 7. Linda-style message posting
  100. 8. performance monitoring and load balancing
  101. %X This is the second edition of his
  102. earlier book and cover more material, e.g. distributed systems,
  103. time analysis for real-time systems, ...
  104. It may however be too introductory for the someone after a good O/S
  105. course (of course in O/S I tend to teach concurrent programming so ...)
  106.  
  107. %A George H. Barnes
  108. %A Richard M. Brown
  109. %A Maso Kato
  110. %A David J. Kuck
  111. %A Daniel L. Slotnick
  112. %A Richard A. Stokes
  113. %T The ILLIAC IV Computer
  114. %J IEEE Transactions on Computers
  115. %V C-17
  116. %N 8
  117. %D August 1968
  118. %P 746-757
  119. %K grequired91,
  120. array, computer structures, look-ahead, machine language, parallel processing,
  121. speed, thin-film memory, multiprocessors,
  122. Rmaeder biblio: parallel hardware and devices,
  123. %K architecture, ILLIAC-IV, SIMD, Rhighnam,
  124. %K rwa,
  125. %K ag, jlh, dp, j\-lb,
  126. %X This was the original paper on the ILLIAC IV when it was proposed as
  127. a 256 processing element machine, a follow on to the SOLOMON.  It was a
  128. very ambitious design.
  129. %X Contains ILLIAC IV assembler (among other things).
  130. %X (JLH & DP) This is the original paper on the ILLIAC IV hardware;
  131. some aspects of the machine (especially the memory system) changed
  132. subsequently.  A later pape, cited as Bourknight, et. al. (1972)
  133. provides a more accurate description of the real hardware.
  134. %X (J-LB) paper of historical significance.
  135.  
  136. %A Edward Gehringer
  137. %A Daniel P. Siewiorek
  138. %A Zary Segall
  139. %Z CMU
  140. %T Parallel Processing: The Cm* Experience
  141. %I Digital Press
  142. %C Boston, MA
  143. %D 1987
  144. %K book, text, multiprocessor,
  145. %K enm, ag, jlh, dp,
  146. %K grequired91,
  147. %$ 42
  148. %X Looks okay!
  149. %X [Extract from inside front cover]
  150. ... a comprehensive report of the important parallel-processing
  151. research carried out on Cm* at Carnegie-Mellon University. Cm* is a
  152. multiprocessing system consisting of 50 tightly coupled processors and
  153. has been in operation since the mid-1970s. Two operating
  154. systems-StarOs and Medusa-are part of its development, along with a
  155. vast number of applications.
  156. %X (JLH & DP) This book  reviews the Cm* experience.  The book
  157. discusses hardware issues, operating system strategies,
  158. programming systems, and includes an extensive discussion of the
  159. experience with over 20 applications on Cm*.
  160.  
  161. %A J. R. Gurd
  162. %A C. C. Kirkham
  163. %A I. Watson
  164. %T The Manchester Prototype Dataflow Computer
  165. %J Communications of the CACM
  166. %V 28
  167. %N 1
  168. %D January 1985
  169. %P 34-52
  170. %K CR Categories and Subject Descriptors:
  171. C.1.3 [Processor Architectures]: Other Architecture Styles;
  172. C.4 [ Performance of Systems]; D.3.2 [Programming Languages]: Language
  173. Classifications
  174. General Terms: Design, Languages, Performance
  175. Additional Key Words and Phrases: tagged-token dataflow,
  176. single assignment programming, SISAL, parallel computation,
  177. grequired91,
  178. %K enm, dmp, jlh, dp,
  179. %X A special issue on Computer Architecture.  Mentions SISAL, but not LLNL.
  180. Using tagged-token dataflow, the Manchester processor is running
  181. reasonably large user programs at maximum rates of between 1 and 2 MIPS.
  182. Reproduced in "Selected Reprints on Dataflow and Reduction Architectures"
  183. ed. S. S. Thakkar, IEEE, 1987, pp. 111-129.
  184. %X (JH & DP) This paper discusses the machine, its software, and
  185. evaluates performance.
  186.  
  187. %A Geoffrey C. Fox
  188. %A Mark A. Johnson
  189. %A Gregory Lyzenga
  190. %A Steve W. Otto
  191. %A John Salmon
  192. %A David Walker
  193. %Z Caltech
  194. %T Solving Problems on Concurrent Processors
  195. %V 1, General Techniques and Regular Problems
  196. %I Prentice-Hall
  197. %C Englewood Cliffs, NJ
  198. %D 1988
  199. %K book, text, hypercubes, CCCP, MIMD, parallel programming,
  200. communication, applications, physics,
  201. %K bb, jlh, dp,
  202. %K grequired91,
  203. %K suggested supplemental ref by jh and dp
  204. %O ISBN 13-823022-6 (HB), 13-823469-8 (PB)
  205. %X Interesting book.  Given out for free at Supercomputing'89.
  206. %X My Bible of Distributed Parallel Computing; even if you are not using
  207. Express it is a wonderful book to have !
  208.  
  209. %A Michael Wolfe
  210. %T Optimizing Supercompilers for Supercomputers
  211. %S Pitman Research Monographs in Parallel and Distributed Computing
  212. %I MIT
  213. %C Cambridge, MA
  214. %D 1989
  215. %K book, text,
  216. %K grequired91,
  217. %K cb@uk, dmp, lls,
  218. %X Good technical intro to dependence analysis, based on Wolfe's PhD Thesis.
  219.  
  220. %A Robert H. Kuhn
  221. %A David A. Padua, eds.
  222. %T Tutorial on Parallel Processing
  223. %I IEEE
  224. %D August 1981
  225. %K bmiya, book, text, survey,
  226. %K grequired91,
  227. %K enm, ag, fpst,
  228. %X This is a collection of noted papers on the subject, collected for
  229. the tutorial given at the 10th conference (1981) on Parallel Processing.
  230. It eases the search problem for many of the obscure papers.
  231. Some of these papers might not be considered academic, others are
  232. applications oriented.  Data flow is given short coverage.  Still, a
  233. quick source for someone getting into the field.  Where ever possible,
  234. papers in this bibliography are noted as being in this text.
  235. %X Check on literature search:
  236. Tutorial on parallel processing; initially presented at the Tenth
  237. International Conference on Parallel Processing, August 25-28, 1981,
  238. Bellaire, Michigan / [edited by] Robert H. Kuhn, David A. Padua
  239. Kuhn, Robert H; Padua, David A
  240. CONFERENCE: International Conference on Parallel Processing (10th : 1981
  241. : Bellaire, Mich.)
  242. [Los Angeles? CA]: IEEE Computer Society Press : Order from IEEE
  243. Computer Society, v, 498 p. : ill. ; 28 cm.
  244. PUBLICATION DATE(S): 1981
  245. PLACE OF PUBLICATION: California
  246. LC CALL NO.: QA76.6 .I548 1981  DEWEY CALL NO.: 001.64
  247. RECORD STATUS: New record
  248. BIBLIOGRAPHIC LEVEL: Monograph
  249. LANGUAGE: English
  250. ILLUSTRATIONS: Illustrations
  251. NOTES:
  252. Bibliography: p. 497-498.
  253. DESCRIPTORS:
  254. Parallel processing (Electronic computers) -- Congresses
  255. ? 72  (COMPUTERS & DATA PROCESSING)
  256.  
  257. ===
  258.  
  259. %A Gul A. Agha
  260. %Z U. of Mich.
  261. %T Actors: A Model of Concurrent Computation in Distributed Systems
  262. %I MIT Press
  263. %C Cambridge, MA
  264. %D 1986
  265. %K book, text, communication, evaluation, abstraction,
  266. distributed computing, agents, grecommended91,
  267. %K hcc, fpst,
  268. %X See also his PhD thesis of the same title.
  269. %X Now considered a classical text.
  270.  
  271. %A Gene M. Amdahl
  272. %T Validity of the single processor approach to achieving large scale computing
  273. capabilities
  274. %J AFIPS Proc. of the SJCC
  275. %V 31
  276. %D 1967
  277. %P 483-485
  278. %K grecommended91,
  279. %K bmiya,
  280. %K ak,
  281. %X should be reread every week
  282. %X Well known (infamous ?) Amdahl's law that suggests that if x %
  283. of an algorithm is not parallelizable then the maximum speedup is 1/x.
  284. Limits of vectorization.
  285. Arthur Goldberg @cs.ucla.edu
  286.  
  287. %A Gregory R. Andrews
  288. %A Fred B. Schneider
  289. %T Concepts and Notations for Concurrent Programming
  290. %J Computing Surveys
  291. %V 15
  292. %N 1
  293. %P 3-43
  294. %O 133 REFS. Treatment BIBLIOGRAPHIC SURVEY, PRACTICAL
  295. %D March 1983
  296. %i University of Arizona, Tucson
  297. %r CS Dept. TR 82-12
  298. %d Sept. 1982.
  299. %K grecommended91,
  300. parallel processing programming
  301. OS parallel processing concurrent programming language notations
  302. processes communication synchronization primitives
  303. %K bmiya,
  304. %K fpst,
  305. %X This is not a book, but probably the best place to start in understanding
  306. concurrency. Well written, though dated a bit.
  307. %X Literature search yields:
  308. 01391537   E.I. Monthly No: EI8309072043   E.I. Yearly No: EI83016908
  309. Title: Concepts And Notations For Concurrent Programming.
  310. Author: Andrews, Gregory R.; Schneider, Fred B.
  311. Corporate Source: Univ of Arizona, Dep of Computer Science, Tucson, Ariz, USA
  312. Source: Computing Surveys v 15 n 1 Mar 1983 p 3-43
  313. Publication Year: 1983
  314. CODEN: CMSVAN   ISSN: 0010-4892
  315. Language: ENGLISH
  316. Journal Announcement: 8309
  317. Abstract: This paper identifies the major concepts of concurrent
  318. programming and describes some of the more important language notations for
  319. writing concurrent programs. The roles of processes, communication, and
  320. synchronization are discussed. Language notations for expressing concurrent
  321. execution and for specifying process interaction are surveyed.
  322. Synchronization primitives based on shared variables and on message passing
  323. are described. Finally, three general classes of concurrent programming
  324. languages are identified and compared. 133 refs.
  325. Descriptors: *COMPUTER PROGRAMMING
  326. Classification Codes: 723  (Computer Software)
  327. 72  (COMPUTERS & DATA PROCESSING)
  328.  
  329. %A James Archibald
  330. %A Jean-Loup Baer
  331. %T Cache Coherence Protocols:
  332. Evaluation Using a Multiprocessor Simulation Model
  333. %J ACM Transactions on Computer Systems
  334. %V 4
  335. %N 4
  336. %D November 1986
  337. %P 273-298
  338. %K j\-lb,
  339. %K grecommended91,
  340.  
  341. %A Arvind
  342. %A David E. Culler
  343. %T Dataflow Architectures
  344. %Z MIT
  345. %J Annual Reviews in Computer Science
  346. %V 1
  347. %P 225-53
  348. %D 1986
  349. %r TM-294
  350. %d February 1986
  351. %K grecommended91,
  352. %K jlh, dp, j\-lb,
  353. %X Not detailed, but reasonably current survey paper on data flow.
  354. Includes status information of American, English, France, and Japanese
  355. dataflow projects like the SIGMA-1 (Japan), Manchester (English), and so
  356. forth.
  357. Reproduced in "Selected Reprints on Dataflow and Reduction Architectures"
  358. ed. S. S. Thakkar, IEEE, 1987, pp. 79-101.
  359. %X (JLH & DP) This paper discusses the basic ideas behind dataflow machines.
  360. The basic concepts of dataflow were espoused by Dennis: Dennis, J. [1980].
  361. "Dataflow Cupercomputers," Computers vol. 13, no. 11 (November), pages 48-56.
  362.  
  363. %A Tom Axford
  364. %T Concurrent Programming: Fundamental Techniques for
  365. Real-Time and Parallel Software Design
  366. %I John Wiley
  367. %S Series in Parallel Computing
  368. %D 1989
  369. %K book, text,
  370. %K grecommended91,
  371. %O ISBN 0 471 92303 6
  372. %K js, (2 c.e. votes),
  373. %X more about software techniques for concurrency than about parallel
  374. programming, but still useful.
  375. %X ...quite happy with it. ... primary language used was Modula-2 ...
  376. ... concepts, architectures, and so forth. ... used transputers as
  377. an inexpensive platform for parallel computing. We used C for
  378. the transputer programming.
  379.  
  380. %A J. Backus
  381. %T Can Programming be Liberated from the von Neumann Style?
  382. A Functional Style and its Algebra of Programs
  383. %J Communications of the ACM
  384. %V 16
  385. %N 8
  386. %D August 1978
  387. %P 613-641
  388. %K grecommended91, Turing award lecture,
  389. Key words and phrases: functional programming, algebra of programs,
  390. combining forms, programming languages, von Neumann computers,
  391. von Neumann languages, models of computing systems,
  392. applicative computing systems, program transformation, program correctness,
  393. program termination, metacomposition,
  394. CR categories: 4.20, 4.29, 5.20, 5.24, 5.26,
  395. %K Rhighnam, theory
  396. %K ak,
  397. %X Reproduced in "Selected Reprints on Dataflow and Reduction Architectures"
  398. ed. S. S. Thakkar, IEEE, 1987, pp. 215-243.
  399.  
  400. %A J. L. Baer
  401. %T A Survey of Some Theoretical Aspects of Multiprocessing
  402. %J Computing Surveys
  403. %V 5
  404. %N 1
  405. %D March 1973
  406. %P 31-80
  407. %K multiprocessing, mutual exclusion, semaphores, automatic detection of
  408. parallelism, graph models, Petri nets, flow graph schemata, scheduling,
  409. array processors, pipe-line computers
  410. CR categories: 6.0, 8.1, 4.32, 5.24
  411. maeder biblio: general, concepts, parallel programming, parallel architecture,
  412. %K btartar
  413. %K grecommended91,
  414. %K ak,
  415.  
  416. %A Howard Barringer
  417. %T A Survey of Verification Techniques for Parallel Programs
  418. %I Springer-Verlag
  419. %S Lecture Notes in Computer Science
  420. %V 191
  421. %C Berlin
  422. %D 1985
  423. %$ 11.25
  424. %K Book, text,
  425. %K grecommended91,
  426. %K fpst,
  427. %X For the theoretical at heart. Gives insights into what is so hard about
  428. distributed and parallel processing. Compares many different approaches.
  429.  
  430. %A K. E. Batcher
  431. %T STARAN Parallel Processor System Hardware
  432. %J Proceedings AFIPS National Computer Conference
  433. %D 1974
  434. %P 405-410
  435. %K grecommended91
  436. %K btartar
  437. %K Rhighnam, architecture, associative,
  438. %K ag,
  439. %X This paper is reproduced in Kuhn and Padua's (1981, IEEE)
  440. survey "Tutorial on Parallel Processing."
  441. %X Literature search provides:
  442. 00446338   E.I. Monthly No: EI7504022393   E.I. Yearly No: EI75013769
  443. Title: Staran Parallel Processor System Hardware.
  444. Author: Batcher, Kenneth E.
  445. Corporate Source: Goodyear Aerosp Corp, Akron, Ohio
  446. Source:  AFIPS Conference Proceedings v 43, 1974, for Meet, Chicago, Ill,
  447. May 6-10 1974, p 405-410
  448. Publication Year: 1974
  449. CODEN: AFPGBT   ISSN: 0095-6880
  450. Language: ENGLISH
  451. Journal Announcement: 7504
  452. Abstract: The parallel processing capability of STARAN resides in n array
  453. modules (n LESS THAN EQUIVALENT TO 32). Each array module contains 256
  454. small processing elements (PE's). They communicate with a multi-dimensional
  455. access (MDA) memory through a "flip" network, which can permute a set of
  456. operands to allow inter-PE communication. This paper deals with the MDA
  457. memories, the STARAN array modules, the other elements of STARAN, and the
  458. results of certain application studies. 4 refs.
  459. Descriptors: *Computer Systems, Digital--*Parallel Processing
  460. Identifiers: Staran Processors
  461. Classification Codes: 722  (Computer Hardware)
  462. 72  (Computers & Data Processing)
  463.  
  464. %A John Beetem
  465. %A Monty Denneau
  466. %A Don Weingarten
  467. %Z IBM TJW, Yorktown Heights
  468. %T The GF11 Supercomputer
  469. %J Proceedings of the 12th International Symposium on Computer Architecture
  470. %I IEEE
  471. %D June 1985
  472. %C Boston, MA
  473. %P 108-115
  474. %K Quantum chromodynamics,
  475. %K Special Purpose Parallel Processors, IBM
  476. %r RC 10852
  477. %K grecommended91,
  478. %K jlh, dp,
  479. %K suggested supplemental ref jh an dp
  480. %X 576 processors, modified SIMD, 2 MB memory per processor at 20 MFLOPS.
  481. Memphis Switch, 50 ns. 1,125 Macho Bytes, 11,520 Macho FLOPS.
  482.  
  483. %A John Beetem
  484. %A Monty Denneau
  485. %A Don Weingarten
  486. %Z IBM TJW, Yorktown Heights
  487. %T The GF11 Supercomputer
  488. %B Experimental Parallel Computing Architectures
  489. %E J. J. Dongarra
  490. %S Special Topics in Supercomputing
  491. %V 1
  492. %I Elsevier Science Publishers B.V. (North-Holland)
  493. %C Amsterdam
  494. %D 1987
  495. %P 255-298
  496. %K Quantum chromodynamics,
  497. %K grecommended91,
  498. %K jlh, dp,
  499. %K suggested supplemental ref jh an dp
  500. %X 576 processors, modified SIMD, 2 MB memory per processor at 20 MFLOPS.
  501. Memphis Switch, 50 ns. 1,125 Macho Bytes, 11,520 Macho FLOPS.
  502. See also the Proceedings of the 12th International Symposium on
  503. Computer Architecture, IEEE, June 1985, Boston, MA, pages 108-115
  504. or see the IBM TR RC 10852 from TJW.
  505.  
  506. %A Dimitri P. Bertsekas
  507. %A John N. Tsitsiklis
  508. %T Parallel and Distributed Computation: Numerical Methods
  509. %I Prentice Hall
  510. %C Englewood Cliffs NJ
  511. %D 1989
  512. %K book, text,
  513. %K grecommended91,
  514. %K ab,
  515. %O ISBN 0-13-648700-9
  516. %X Received one verbal view that this book isn't great.
  517. It was that person's opinion that the authors didn't implement
  518. important details of algorithms (like boundary conditions).
  519. The view is unconfirmed, and requires further investigation.
  520.  
  521. %A W. J. Bouknight
  522. %A Stewart A. Denenberg
  523. %A David E. McIntyre
  524. %A J. M. Randall
  525. %A Amed H. Sameh
  526. %A Daniel L. Slotnick
  527. %T The ILLIAC IV System
  528. %J Proceedings of the IEEE
  529. %V 60
  530. %N 4
  531. %D April 1972
  532. %P 369-388
  533. %K grecommended91, multiprocessors, parallel processing, SIMD,
  534. %K btartar
  535. %K Rhighnam, architecture, language,
  536. %K ag,
  537. %X This is the "what we did" paper in contrast to the design paper
  538. Barnes et al in 1968.
  539. A subsetted version of this paper appears in
  540. "Computer Structures: Principles and Examples" by
  541. Daniel P. Siewiorek, C. Gordon Bell, and Allen Newell,
  542. McGraw-Hill, 1982, pp. 306-316.
  543.  
  544. %A Nicholas Carriero
  545. %A David Gelernter
  546. %T How to Write Parallel Programs: A Guide to the Perplexed
  547. %J ACM Computing Surveys
  548. %V 21
  549. %N 3
  550. %D September 1989
  551. %P 323-357
  552. %d April 1988
  553. %r YALEU/DCS/RR-628
  554. %K special issue on programming language paradigms,
  555. %K Categories and Subject Descriptors:
  556. D.1.3 [Programming Techniques]: Concurrent Programming;
  557. D.3.2 [Programming Languages]: Language classifications -
  558. parallel languages; D.3.3 [Programming Languages]:
  559. Language constructs - concurrent programming structures;
  560. E.1.m [Data Structures]: Miscellaneous -
  561. distributed data structures; live data structures;
  562. General Terms: Algorithms, Program Design, Languages,
  563. Additional Key Words and Phrases: Linda,
  564. parallel programming methodology, parallelism,
  565. %K grecommended91,
  566. %K hcc, ag,
  567. %X From page: 326:
  568. It is nonetheless a subtle but essential point that these approaches
  569. represent three clearly separate ways of thinking about the problem:
  570. Result parallelism focuses on the shape of the finished product;
  571. specialist parallelism focuses on the makeup of the work crew; and
  572. agenda parallelism focuses on the list of tasks to be performed.
  573. Also the terms: message-passing, distributed data structures or
  574. live data structures.  Notes that it does not deal with data parallelism
  575. (ala CM) nor speculative parallelism (OR-parallelism).  Tries to be
  576. practical, but it does admit distributed programs are harder and more complex.
  577. %X The authors distinguish between three classes of parallelism,
  578. result, agenda, and specialist,
  579. and between three roughly corresponding methods for implementation,
  580. live data structures, distributed (shared) data structures, and
  581. message passing systems.  The Linda model is then introduced and related to
  582. each class and method #209# it serves as a kind of universal model for
  583. describing the essential parallelism, as opposed to sequential processes.
  584. An example is treated in some detail.
  585.  
  586. %A Nicholas Carriero
  587. %A David Gelernter
  588. %T How to Write Parallel Programs: A First Course
  589. %I MIT Press
  590. %C Cambridge, MA
  591. %D 1990
  592. %K book, text,
  593. %K grecommended91,
  594. %K hcc,
  595.  
  596. %A K. Mani Chandy
  597. %A Jayadev Misra
  598. %Z University of Texas--Austin
  599. %T Parallel Program Design: A Foundation
  600. %I Addison-Wesley
  601. %D 1988
  602. %K book, text, UNITY,
  603. %K grecommended91,
  604. %K hcc, fpst,
  605. %O ISBN 0-201-05866-9
  606. %X requires a more in depth review.
  607. %X Theoretically useful.
  608.  
  609. %A Robert P. Colwell
  610. %A Robert P. Nix
  611. %A John J. O'Donnell
  612. %A David B. Papworth
  613. %A Paul K. Rodman
  614. %Z Multiflow
  615. %T A VLIW Architecture for a Trace Scheduling Compiler
  616. %J Proceedings Second International Conference on Architectural
  617. Support for Programming Languages and Operating Systems
  618. (ASPLOS II)
  619. %J Computer Architecture News
  620. %V 15
  621. %N 5
  622. %J Operating Systems Review
  623. %V 21
  624. %N 4
  625. %J SIGPLAN Notices
  626. %V 22
  627. %N 10
  628. %I ACM
  629. %C Palo Alto, CA
  630. %D October 1987
  631. %P 180-192
  632. %K Trace scheduling, VLIW, very long instruction word,
  633. %K grecommended91,
  634. %K j\-lb,
  635.  
  636. %A William J. Dally
  637. %A Charles L. Seitz
  638. %Z Caltech
  639. %T Deadlock-Free Message Routing in Multiprocessor Interconnection Networks
  640. %J IEEE Transactions on Computers
  641. %V C-36
  642. %N 5
  643. %D May 1987
  644. %P 547-553
  645. %r TR 5231:TR:86
  646. %d June 1986
  647. %K Caltech Cosmic Cube, hypercube, C^3P, wormhole,
  648. %K grecommended91, Rcccp,
  649. %K dmp, j-lb,
  650.  
  651. %A F. Darema-Rogers
  652. %A G. F. Pfister
  653. %A K. So
  654. %T Memory Access Patterns of Parallel Scientific Programs
  655. %J Proc. 1987 ACM/SIGMETRICS Conf. in Meas. and Mod. of Comp. Syst.
  656. %V 15
  657. %N 1
  658. %D May 1987
  659. %C Banff, Alberta, Canada
  660. %P 46-57
  661. %K parallel systems, RP3,
  662. %K grecommended91,
  663. %K jlh, dp,
  664. %X (JLH & DP) Reports results of measurements of some applications for
  665. the RP3.
  666.  
  667. %A Jarek Deminent
  668. %T Experience with Multiprocessor Algorithms
  669. %J IEEE Transactions on Computers
  670. %V C-31
  671. %N 4
  672. %P 278-288
  673. %D April 1982
  674. %K bmiya, Cm*, parallel algorithms, applications,
  675. %K grecommended91,
  676. %K jlh, dp,
  677. %X This paper reports experience using Cm* for several applications
  678. There are other references available on experience with Cm*; these
  679. are published as CMU technical reports or theses.  Also, see the book
  680. by Gehringer, et al.
  681.  
  682. %A K. P. Eswaran
  683. %A J. N. Gray
  684. %A R. A. Lorie
  685. %A I. L. Traiger
  686. %T The notions of consistency and predicate locks in a database system
  687. %J Communications of the ACM
  688. %V 19
  689. %N 11
  690. %D Nov. 1976
  691. %P 624-633
  692. %K Rdpsdis.bib Rsingh
  693. %K grecommended91,
  694. %K dmp,
  695.  
  696. %A Jerome A. Feldman
  697. %A Patrick J. Hayes
  698. %A David E. Rumelhart, eds.
  699. %T Parallel Distributed Processing, Explorations in the Microstructure
  700. of Cognition
  701. %V 1, Foundations
  702. %I MIT Press
  703. %D 1986
  704. %K AT15 AI04 AI03 AI08
  705. %K The PDP Perspective, book, text,
  706. %K grecommended91,
  707. %K jb,
  708. %X Two volume set for $35.95.
  709. %X AI meets parallelism and neural nets.
  710. (A bible of sorts)
  711.  
  712. %A Jerome A. Feldman
  713. %A Patrick J. Hayes
  714. %A David E. Rumelhart, eds.
  715. %T Parallel Distributed Processing, Explorations in the Microstructure
  716. of Cognition
  717. %I MIT Press
  718. %V 2, Psychological and Biological Models
  719. %D 1986
  720. %K AT15 AI04 AI03 AI08
  721. %K The PDP Perspective
  722. %K book, text,
  723. %K grecommended91,
  724. %K jb,
  725. %X Two volume set for $35.95.
  726. %X AI meets parallelism and neural nets.
  727. (A bible of sorts)
  728.  
  729. %A M. J. Flynn
  730. %T Very High-Speed Computing Systems
  731. %J Proceedings of the IEEE
  732. %V 54
  733. %D December 1966
  734. %P 1901-1909
  735. %K maeder biblio: parallel architectures,
  736. %K grecommended91,
  737. %K j\-lb,
  738. %X The original paper which classified computer system into instruction
  739. and data stream dimensions (SISD, SIMD, etc.).
  740. %K btartar
  741.  
  742. %A Geoffrey C. Fox
  743. %T Concurrent Processing for Scientific Calculations
  744. %J Digest of Papers COMPCON, Spring 84
  745. %I IEEE
  746. %D Feb. 1984
  747. %P 70-73
  748. %r Hm62
  749. %K super scientific computers, hypercube, Rcccp,
  750. %K grecommended91,
  751. %K jlh, dp,
  752. %K suggested supplemental ref by jh and dp
  753. %X An introduction the the current 64 PE Caltech hypercube.  Based
  754. on the dissertation by Lang (Caltech 1982) on the `Homogeneous machine.'
  755.  
  756. %A Samuel H. Fuller
  757. %A John K. Ousterhout
  758. %A Levy Raskin
  759. %A Paul I. Rubinfeld
  760. %A Pradeep J. Sindhu
  761. %A Richard J. Swan
  762. %T Multi-Microprocessors: An Overview and Working Example
  763. %J Proceedings of the IEEE
  764. %V 66
  765. %N 2
  766. %D February 1978
  767. %P 216-228
  768. %K multiprocessor architectures and operating systems
  769. %K bsatya
  770. %K grecommended91,
  771. %K jlh, dp,
  772. %X 
  773. Reprinted in "Tutorial: Distributed Processing," IEEE,
  774. compiled by Burt H. Liebowitz and John H. Carson, 1981, 3rd edition.
  775. %X (JLH & DP) Cm* was the first multiprocessor based on microprocessor
  776. technology.  Despite the limited success of the machine, it's impact and ideas
  777. are present in many machines being built today including the
  778. Encore Ultramax (Multimax) and Stanford's DASH.
  779.  
  780. %A D. D. Gajski
  781. %A D. A. Padua
  782. %A D. J. Kuck
  783. %A R. H. Kuhn
  784. %T A Second Opinion on Data Flow Machines and Languages
  785. %J Computer
  786. %V 15
  787. %N 2
  788. %D Feb. 1982
  789. %P 15-25
  790. %K grecommended91, multiprocessing,
  791. %K bmiya,
  792. %K meb, jlh, dp,
  793. %X (SKS) or why I'm afraid people won't use FORTRAN.
  794. This paper should only be read (by beginners) in conjunction with a
  795. pro-dataflow paper for balance: maybe McGraw's "Physics Today" May 1984.
  796. Also reprinted in the text compiled by Kai Hwang:
  797. "Supercomputers: Design and Application," IEEE, 1984.
  798. Reproduced in "Selected Reprints on Dataflow and Reduction Architectures"
  799. ed. S. S. Thakkar, IEEE, 1987, pp. 165-176.
  800. %X * Due to their simplicity and strong appeal to intuition, data flow
  801. techniques attract a great deal of attention.  Other alternatives,
  802. however, offer more hope for the future.
  803. %X (JLH & DP) The most complete critique of the dataflow approach.
  804.  
  805. %A Daniel Gajski
  806. %A Jih-Kwon Peir
  807. %T Essential Issues in Multiprocessor Systems
  808. %J Computer
  809. %I IEEE
  810. %V 18
  811. %N 6
  812. %D June 1985
  813. %P 9-27
  814. %K parallel processor vector shared memory message passing tightly
  815. loosely coupled dataflow partitioning cedar csp occam hep
  816. synchronization grecommended91
  817. %K ak,
  818. %X The performance of a multiprocessor system depends on how it
  819. handles the key problems of control, partitioning, scheduling,
  820. synchronization, and memory access.
  821. On a second look, this paper has some nice ideas.  (rec added to %K).
  822. %X Examines actual and proposed machines from the viewpoint of the
  823. authors' key multiprocessing problems: control, partitioning,
  824. scheduling, synchronization, and memory access.
  825. %X Detailed classification scheme based upon control model of computation,
  826. partitioning, scheduling, synchronization, memory access.
  827. Classification is illustrated with many examples, including a summary table
  828. for to Cray-1, Arvind's Data flow, HEP, NYU Ultracomputer, and Cedar.
  829. Reproduced in "Computer Architecture," D. D. Gajski,
  830. V. M. Milutinovic, H. J. Siegel, and B. P. Furht, eds., IEEE, 1987,
  831. pp. 115-133.
  832.  
  833. %A Narain Gehani
  834. %A Andrew D McGettrick, eds.
  835. %T Concurrent Programming
  836. %I Addison-Wesley
  837. %D 1988
  838. %O ISBN 0-201-17435-9
  839. %K book, text, language,
  840. %K grecommended91,
  841. %K ps,
  842.  
  843. %A W. Morven Gentleman
  844. %T Message Passing between Sequential Processes the Reply Primitive
  845. and the Administrator Concept
  846. %J Software Practice and Experience
  847. %V 11
  848. %N 5
  849. %D 1981
  850. %P 435-466
  851. %K grecommended91,
  852. %K cc,
  853. %X The quinticential paper on how to program with message passing is
  854. the following.  It is very readable, and provides an excellent
  855. introduction on how to use a message passing environment effectively.
  856.  
  857. %A M. J. Gonzalez, Jr.
  858. %T Deterministic processor scheduling
  859. %J Computing Surveys
  860. %V 9
  861. %N 3
  862. %D September 1977
  863. %P 173-204
  864. %K scheduling
  865. %K bsatya
  866. %K grecommended91,
  867. %K dmp, ak,
  868. %X
  869. References are classified into various types (single, dual, multiple,
  870. and flow shop) at end of paper.
  871.  
  872. %A Allen Gottlieb
  873. %A Ralph Grishman
  874. %A Clyde P. Krukal
  875. %A Kevin P. McAuliffe
  876. %A Larry Rudolph
  877. %A Marc Snir
  878. %T The NYU Ultracomputer -- Designing an MIMD Shared Memory Parallel Computer
  879. %J IEEE Transactions on Computers
  880. %V C-32
  881. %N 2
  882. %D February 1983
  883. %P 175-190
  884. %K multiprocessors, parallel processing, Ultracomputer,
  885. computer architecture, fetch-and-add, MIMD, Omega-network,
  886. parallel computer, shared memory, systolic queues, VLSI,
  887. %K grecommended91,
  888. %K jlh, dp, j\-lb,
  889. %X describes the design of the NYU Ultracomputer, its synchronization,
  890. the omega network. Analyzes the projected performance of the Ultracomputer.
  891. Reproduced in "Computer Architecture," D. D. Gajski,
  892. V. M. Milutinovic, H. J. Siegel, and B. P. Furht, eds., IEEE, 1987,
  893. pp. 471-485.
  894. %X This paper represents an architectural approach that uses shared memory
  895. and caches without cache-coherence.  Several machines have explored
  896. this approach including IBM's RP3, the U. of Illinois CEDAR, and a number
  897. of early multiprocessors (e.g., C.mmp).
  898.  
  899. %A R. L. Graham
  900. %T Bounds on multiprocessing anomalies and related packing algorithms
  901. %J Proc. AFIPS SJCC
  902. %V 40
  903. %D 1972
  904. %K theoretical results
  905. %K bsatya
  906. %K grecommended91,
  907. %K ak,
  908. %X
  909.  
  910. %A John L. Gustafson
  911. %A Gary R. Montry
  912. %A Robert E. Benner
  913. %Z Sandia National Labs.
  914. %T Development of Parallel Methods for a 1024-Processor Hypercube
  915. %J SIAM Journal on Scientific and Statistical Computing
  916. %V 9
  917. %N 4
  918. %D July 1988
  919. %K fluid dynamics, hypercubes, MIMD machines, multiprocessor performance,
  920. parallel computing, structural analysis, supercomputing, wave mechanics,
  921. grecommended91,
  922. %K jlh, dp,
  923. %X Introduces concept of operation efficiency, scaled speed-up.
  924. Also covers communication cost, beam strain analysis, and a bit on
  925. benchmarking.  Winner of 1988 Bell and Karp Prizes.
  926. %X (JLH & DP) This paper report interesting results in using a
  927. large scale NCUBE.  The authors won the Gordon Bell prize with their work.
  928. They also suggest the idea of problem scaling to overcome the limitations of
  929. sequential portions of an application.
  930.  
  931. %A Robert H. Halstead, Jr.
  932. %T Parallel Symbolic Computing
  933. %J Computer
  934. %V 19
  935. %N 8
  936. %P 35-43
  937. %D August 1986
  938. %K Special issue: domesticating parallelism, grecommended91, LISP,
  939. %K hcc,
  940.  
  941. %A Michael Hennessey
  942. %T Algebraic Theory of Processes
  943. %I MIT Press
  944. %D 1988
  945. %K grecommended91,
  946. %K fpst,
  947. %X An attempt to look at problem of concurrency from process/algebra view.
  948.  
  949. %A W. Daniel Hillis
  950. %T The Connection Machine
  951. %I MIT Press
  952. %C Cambridge, MA
  953. %D 1985
  954. %K book,
  955. grecommended91, PhD thesis,
  956. %K j\-lb,
  957. %X Has a chapter on why computer science is no good.
  958. %X Patent 4,709,327, Connection Machine, 24 Nov 87 (individuals)
  959. "Parallel Processor / Memory Circuit", W. Daniel Hillis et al.
  960. This looks like the meat of the connection machine design.
  961. It probably has lots of stuff that up til the patent was considered
  962. proprietary.
  963.  
  964. %A C. A. R. Hoare
  965. %T Communicating Sequential Processes
  966. %J Communications of the ACM
  967. %V 21
  968. %N 8
  969. %P 666-677
  970. %D August 1978
  971. %K bhibbard
  972. %K grecommended91,
  973. %K hcc, ak,
  974. %K programming, programming languages, programming primitives,
  975. program structures, parallel programming, concurrency, input, output,
  976. guarded commands, nondeterminacy, coroutines, procedures, multiple entries,
  977. multiple exits, classes, data representations, recursion,
  978. conditional critical regions, monitors, iterative arrays, CSP,
  979. CR categories: 4.20, 4.22, 4.32
  980. maeder biblio: synchronisation and concurrency in processes,
  981. parallel programming,
  982. %X This paper is now expanded into an excellent book detailed by Hoare
  983. and published by Prentice-Hall.
  984. This paper is reproduced in Kuhn and Padua's (1981, IEEE)
  985. survey "Tutorial on Parallel Processing."
  986. Reproduced in "Distributed Computing: Concepts and Implementations" edited by
  987. McEntire, O'Reilly and Larson, IEEE, 1984.
  988. %X Somewhat dated.
  989.  
  990. %A C. A. R. Hoare
  991. %T Communicating Sequential Processes
  992. %I Prentice-Hall
  993. %C Englewood Cliffs, NJ
  994. %D 1985
  995. %O ISBN 0-13-153271-5 & 0-13-153289-8
  996. %K CSP,
  997. %K grecommended91,
  998. %K hcc, fpst, jb,
  999. %X A better book than the original CSP papers.  Hoare comes down to
  1000. earth and tries to give concrete examples of CSP notation.  Still
  1001. has some problems.
  1002. %X Somewhat esoteric.
  1003. %X Must reading for those interested in distributed processing. High
  1004. level discussions of various operators one might think about in the
  1005. message passing realm. Discusses failures.
  1006. %X This defines CSP, upon which occam is based.  REAL parallelism here!
  1007. Very theoretical.  Must read for serious parallism students!
  1008.  
  1009. %A R. W. Hockney
  1010. %A C. R. Jesshope
  1011. %T Parallel Computers: 2 Architecture, Programming, and Algorithms,
  1012. 2nd ed.
  1013. %C Pennsylvania
  1014. %I IOP Publishing Ltd.
  1015. %D 1988
  1016. %O ISBN 0-85274-811-6
  1017. %K book, text,
  1018. %K grecommended91,
  1019. %K meb,
  1020. %X World's most expensive paperback; matched only by Hockney's book on
  1021. particle simulations; both worth the price.
  1022. %X This book tends to the more mainframe oriented machines and bigger
  1023. supercomputers.  Killer micros get a little coverage (CM).  Shows
  1024. its UK bias (DAP).
  1025.  
  1026. %A R. Michael Hord
  1027. %T The ILLIAC IV: The First Supercomputer
  1028. %I Computer Science Press
  1029. %D 1982
  1030. %K grecommended91, book, text,
  1031. %K bmiya, Rhighnam
  1032. %K jlh, dp,
  1033. %K suggested supplemental reference by jh and dp
  1034. %K analysis, algorithm, architecture, ILLIAC-IV, SIMD, software, survey
  1035. %O 510.7809
  1036. %X A collection of papers dealing with the ILLIAC IV.  These papers include
  1037. reminisces and applications on the ILLIAC.
  1038. It is slightly apologetic in tone.
  1039. %X Describes in detail the background of the Illiac IV,
  1040. programming and software tools, and applications. The chapters are a
  1041. little disjointed, and the instruction set is not well explained or motivated.
  1042.  
  1043. %A Paul Hudak
  1044. %T Para-Functional Programming
  1045. %J Computer
  1046. %V 19
  1047. %N 8
  1048. %P 60-69
  1049. %D August 1986
  1050. %K Special issue: domesticating parallelism
  1051. %K grecommended91,
  1052. %K hcc,
  1053.  
  1054. %A Paul Hudak
  1055. %Z Yale
  1056. %T Conception, Evolution, and Application of Functional
  1057. Programming Languages
  1058. %J ACM Computing Surveys
  1059. %V 21
  1060. %N 3
  1061. %D September 1989
  1062. %P 359-411
  1063. %K special issue on programming language paradigms,
  1064. %K Categories and Subject Descriptors:
  1065. D.1.1 [Programming Techniques]:
  1066. Applicative (Functional) Programming;
  1067. D.3.2 [Programming Languages]: Language classifications -
  1068. applicative languages; data-flow languages;
  1069. non-procedural languages; very-high-level languages;
  1070. F.4.1 [Mathematical Logic and Formal Languages]:
  1071. Mathematical Logic - lambda calculus and related systems;
  1072. K.2 [History of Computing]: software
  1073. General Terms: Languages,
  1074. Additional Key Words and Phrases: Data abstraction,
  1075. higher-order functions, lazy evaluation, referential transparency,
  1076. types, Lambda Calculus, Lisp, Iswim, APL, FP, FL, ML, SASL, KRC, Miranda,
  1077. Haskell, Hope, denotative [declarative] language,
  1078. %K grecommended91,
  1079. %K ag,
  1080. %X This is the second paper in the special issue which has a section on
  1081. non-determinism [along with Bal, et al] which begins with a statement
  1082. which would sound bizarre to non-programmers or those not familiar
  1083. with the issues of determinacy.
  1084.  
  1085. %A Kai Hwang
  1086. %A Faye A. Briggs
  1087. %T Computer Architecture and Parallel Processing
  1088. %I McGraw-Hill
  1089. %C New York, NY
  1090. %D 1984
  1091. %O ISBN 0-07-031556-6
  1092. %K grecommended91, book, text,
  1093. %K Rhighnam, analysis, architecture, survey
  1094. %K meb, jlh, dp,
  1095. %X This text is quite weighty.  It covers much about the interconnection
  1096. problem.  It's a bit weak on software and algorithms.  Dated.
  1097. %X Extensive survey with large bibliography.  Lots of details.
  1098. %X (JLH & DP) Covers a wide variety of subjects including sections
  1099. on interconnection networks, special-purpose machines, dataflow, and
  1100. programming and applications issues for parallel processing.
  1101. %X A good book on the theory of high-level design. Hwang is at USC and is
  1102. interested in supercomputing, and the book reflects that, though cost
  1103. issues occassionally come in. They do take a sort of narrow view of
  1104. SIMD machines, seeing them mainly as vector processors. It seems to be
  1105. strong on pipelining, which is an important topic in microprocessors
  1106. these days. It does occassionally reach down to the gate level for
  1107. such matters as HW implementation of cache replacement policies. It
  1108. doesn't cover such issues as instruction set design, which I'm
  1109. interested in, but other than that most of its flaws are that it's
  1110. already five years old. Work on a second edition has reportedly begun,
  1111. but it's likely to be a while before it's out.
  1112.  
  1113. %A Robert G. Babb, II, ed.
  1114. %T Programming Parallel Processors
  1115. %I Addison-Wesley
  1116. %C Reading, MA
  1117. %D 1988
  1118. %K book, text, software, Alliant FX/8, BBN Butterfly, Cray X-MP,
  1119. FPS T-Series, IBM 3090, Loral LDF-100, Intel iPSC, hypercube, shared memory,
  1120. message passing, Sequent Balance, grecommended91,
  1121. %K dwf, enm,
  1122. %X Reviewed, IEEE Computer, by T. DeMarco, April 1988, pp. 141.
  1123. Good quote in review:
  1124.     If juggling three balls is of difficulty 3 on a scale of 1 to 10,
  1125.     then juggling four balls is a difficulty of 20. -- from a
  1126.     juggler's handbook.
  1127. This book is a compilation of experiences by grad students (and undergrads)
  1128. on a diversity of machines.  I suspect the monogram format will become
  1129. popular as a publishing vehicle on this topic for the future since
  1130. comparisons will be difficult.  Over half of the book consists of
  1131. appendices of source code or commentary.  I like the way certain
  1132. significant things are encircled by boxes: . . . WANTED
  1133. for Hazardous Journey. Small wages, bitter cold, long month
  1134.  
  1135. %A M. Kallstrom
  1136. %A S. S. Thakkar
  1137. %T Programming Three Parallel Computers
  1138. %K Comparison for Traveling Salesman Problem, C/Intel iPSC,
  1139. Occam/transputer, C/Balance 8000
  1140. %D January 1988
  1141. %J IEEE Software
  1142. %V 5
  1143. %N 1
  1144. %P 11-22
  1145. %K grecommended91,
  1146. %K jb,
  1147. %X See also earlier compcon paper.
  1148. %X Nice low-level introduction to comparing parallel machines and
  1149. portability.  Discusses three approaches to parallel programming.
  1150. Great for students learning parallel programming.  Includes transputers,
  1151. Sequent Balance, and iPSC.
  1152.  
  1153. %A Alan H. Karp
  1154. %Z IBM Palo Alto Scientific Center
  1155. %T Programming for Parallelism
  1156. %J Computer
  1157. %V 20
  1158. %N 5
  1159. %D May 1987
  1160. %P 43-57
  1161. %r G320-3490
  1162. %d June 1986
  1163. %K grecommended91,
  1164. %K meb,
  1165. %X Describes simple fork-join type constructs to be added to FORTRAN.
  1166. Taxonomy, shared memory systems.  An okay survey of the problems.
  1167. Leaves out certain key issues: deadlock, atomicity, exception handling,
  1168. debugging, etc.
  1169.  
  1170. %A William A. Kornfeld
  1171. %A Carl E. Hewitt
  1172. %T The Scientific Community Metaphor
  1173. %J IEEE Transactions on Systems, Man, and Cybernetics
  1174. %V SMC-11
  1175. %N 1
  1176. %D January 1981
  1177. %P 24-33
  1178. %K ai, distributed problem solving
  1179. %K grecommended91,
  1180. %K hcc,
  1181.  
  1182. %A D. J. Kuck
  1183. %A R. H. Kuhn
  1184. %A D. A. Padua
  1185. %A B. Leasure
  1186. %A M. Wolfe
  1187. %T Dependence Graphs and Compiler Optimization
  1188. %J Proceedings of the Eighth Symposium on the Principles of
  1189. Programming Languages (POPL)
  1190. %D January 1981
  1191. %P 207-218
  1192. %K Rdf, parallelization,
  1193. %K grecommended91,
  1194. %K j\-lb,
  1195.  
  1196. %A David J. Kuck
  1197. %T ILLIAC IV Software and Application Programming
  1198. %J IEEE Transactions on Computers
  1199. %V C-17
  1200. %N 8
  1201. %P 758-770
  1202. %D August 1968
  1203. %K bhibbard
  1204. %K applications of array computer, array computer, array language, compiler,
  1205. operating system,
  1206. %K Rhighnam, language, TRANQUIL,
  1207. %K grecommended91,
  1208. %K jlh, dp,
  1209. %X The early proposals for system software for the 256 PE ILLIAC IV.
  1210. Examples are given.
  1211. %X Contains a rationale for the ``TRANQUIL'' language.
  1212. %X (JLH & DP) Kuck's paper discusses the software and programming strategies
  1213. for ILLIAC.  Hord's book has more material about software, as well as some
  1214. discussion of experience in using the machine.
  1215.  
  1216. %A David J. Kuck
  1217. %A Edward S. Davidson
  1218. %A Duncan H. Lawrie
  1219. %A Ahmed H. Sameh
  1220. %T Parallel Supercomputing Today and the Cedar Approach
  1221. %J Science
  1222. %V 231
  1223. %N 4741
  1224. %D February 28, 1986
  1225. %P 967-974
  1226. %K paracompiler,
  1227. %K grecommended91,
  1228. %K ab,
  1229. %X Cedar uses a "paracompiler" to parallelize do-loops.
  1230. A more recent paper appears in Dongarra's Experimental Parallel
  1231. Computing Architectures book.  Photos.
  1232.  
  1233. %A H. T. Kung
  1234. %T Why Systolic Architectures?
  1235. %J IEEE Computer
  1236. %V 15
  1237. %N 1
  1238. %D January 1982
  1239. %P 37-46
  1240. %K Rhighnam, analysis, architecture,
  1241. %K j\-lb,
  1242. %K grecommended91,
  1243. multiprocessors, parallel processing, systolic arrays, VLSI,
  1244. %K bmiya,
  1245. %X * Systolic architectures, which permit multiple computations for
  1246. each memory access, can speed execution of compute-bound problems
  1247. without increasing I/O requirements.
  1248. reconfigured to suit new computational structures; however, this
  1249. capability places new demands on efficient architecture use.
  1250. Note: Kung also has a machine readable bibliography in Scribe
  1251. format which is also distributed with the MP biblio on tape, best
  1252. to request from Kung on the CMU `sam' machine.
  1253. Reproduced in Dharma P. Agrawal's (ed.) "Advanced Computer Architecture,"
  1254. IEEE, 1986, pp. 300-309.
  1255. %X In order to achieve the simplicity and density needed for effective VLSI
  1256. design, Kung's strategy is to optimize processor number, interconnection
  1257. topology and I/O structures for particular points in his space of parallel
  1258. algorithms.  He defines a family of systolic designs for computing various
  1259. forms of the convolution computation.  This is a family of computations
  1260. each member of which generates a sequence of values formed by taking a sum
  1261. of products of values of corresponding elements in two other sequences,
  1262. according to some indexing scheme.  In this paper Kung also gives examples
  1263. of some of the ways the movement of data could be organized: (1) Should
  1264. vector elements be pre-loaded into Processing Elements (PEs)?  (2) Which
  1265. way should data move?  Note that this is a two dimensional pipelining
  1266. strategy, so that the choice of data flow direction has much more freedom
  1267. than with simple linear pipelines.  Some of the organizations that Kung
  1268. uses are: square, hexagonal, and triangular arrays.  Among these schemes,
  1269. the relative direction of data flow of the two input vectors is another
  1270. design parameter.  (3) Should information be broadcasted or shifted through
  1271. the network?  (4) Which vectors should shift through the PEs?  Which should
  1272. remain stationary in the PEs?  Should vector entries come in a temporally
  1273. interleaved fashion, and if so, at what relative rates?
  1274. %X Each member of this family of architectures has a particular
  1275. interprocessor communication structure that matches the flow of data
  1276. required by the underlying algorithms.  It is a wise choice to match this
  1277. flow with particular algorithms in mind; previous attempts at
  1278. multiprocessor parallelism have met with the problem of interprocessor
  1279. communication being a bottleneck.
  1280. %X There are many considerations in chosing the design parameters of a
  1281. systolic architecture.  Probably the major factor is that it is highly
  1282. desirable to match the speed of processing to the available I/O bandwidth.
  1283. One way to accomplish this goal is to make multiple use of each input data
  1284. item.  This is done by either using broadcasting with unlimited fan-in or
  1285. by re-using each value of a vector at each stage of a pipeline.  Since it
  1286. is usually not possible to accurately estimate available I/O bandwidth in a
  1287. complex system, the hope is to make the system modular to allow for
  1288. adjustments to this ratio.
  1289. %X A surprising number of applications have been found where systolic
  1290. algorithms and architectures lead to effective, highly parallel computing
  1291. systems.  Among these are applications in signal and image processing,
  1292. matrix arithmetic, and non-numeric applications.
  1293.  
  1294. %A Leslie Lamport
  1295. %T Time, Clocks, and the Ordering of Events in a Distributed System
  1296. %J Communications of the ACM
  1297. %V 21
  1298. %N 7
  1299. %D July 1978
  1300. %P 558-565
  1301. %K distributed systems, computer networks, clock synchronization,
  1302. multiprocess systems, grecommended91
  1303. CR categories: 4.32, 5.29
  1304. distributed processing computer networks multiprocessing programs
  1305. ordering of events distributed system synchronising total ordering
  1306. clocks computer networks multiprocessing
  1307. %K bsatya
  1308. %K enm, dmp, jw,
  1309. %O 4 Refs.
  1310. treatment: theoretical
  1311. %X classic paper on logical clocks.
  1312. %X A classic paper on synchronization.
  1313. Reproduced in "Distributed Computing: Concepts and Implementations" edited by
  1314. McEntire, O'Reilly and Larson, IEEE, 1984.
  1315. %X The concept of one event happening before another in a distributed system
  1316. is examined, and is shown to define a partial ordering of the events. A
  1317. distributed algorithm is given for synchronising a system of logical clocks
  1318. which can be used to totally order the events. The use of the total
  1319. ordering is illustrated with a method for solving synchronisation problems.
  1320. The algorithm is then specialised for synchronising physical clocks, and a
  1321. bound is derived on how far out of synchrony the clocks can become.
  1322.  
  1323. %A Duncan H. Lawrie
  1324. %T Access and Alignment of Data in an Array Processor
  1325. %J IEEE Trans. on Computers
  1326. %V C-24
  1327. %N 12
  1328. %D Dec. 1975
  1329. %P 1145-1155
  1330. %K Alignment network, array processor, array storage, conflict-free access,
  1331. data alignment, indexing network, omega network, parallel processing,
  1332. permutation network, shuffle-exchange network, storage mapping,
  1333. switching network
  1334. grecommended91, U Ill, N log N nets,
  1335. Ginsberg biblio:
  1336. %K bmiya,
  1337. %K j\-lb,
  1338. %X This paper is reproduced in Kuhn and Padua's (1981, IEEE)
  1339. survey "Tutorial on Parallel Processing."
  1340. Reproduced in the 1984 tutorial: "Interconnection Networks for parallel
  1341. and distributed processing" by Wu and Feng.
  1342.  
  1343. %A F. C. H. Lin
  1344. %A R. M. Keller
  1345. %T The Gradient Model Load Balancing Method
  1346. %J IEEE Transactions on Software Engineering
  1347. %V SE-13
  1348. %N 1
  1349. %D January 1987
  1350. %P 32-38
  1351. %K Special Issue on Distributed Systems, Applicative systems,
  1352. computer architecture, data flow, distributed systems, load
  1353. balancing, multiprocessor systems, reduction architecture
  1354. %K grecommended91,
  1355. %K dmp, (+1),
  1356.  
  1357. %A Mamoru Maekawa
  1358. %A Arthur E. Oldehoeft
  1359. %A Rodney R. Oldehoeft
  1360. %T Operating system: advanced concepts
  1361. %C Menlo Park, CA
  1362. %I The Benjamin/Cummings Publishing Company, Inc.
  1363. %D 1986
  1364. %K book, text,
  1365. %K grecommended91,
  1366. %K fpst,
  1367. %X Excellent reference for a variety of subjects. Discusses parallel
  1368. and distributed systems from several viewpoints. Includes some good
  1369. discussions on distributed databases. Readable for computer scientists;
  1370. others might have to review some operating system terminology
  1371.  
  1372. %A Frank H. McMahon
  1373. %T The Livermore Kernels: A Computer Test of the Numerical Performance Range
  1374. %R UCRL-53745
  1375. %I LLNL
  1376. %C Livermore, CA
  1377. %D December 1986
  1378. %K Livermore loops,
  1379. %K grecommended91,
  1380. %K meb,
  1381. %X See also J. Martin's book on Supercomputer Performance Evaluation.
  1382. This report has more detail and raw data.
  1383.  
  1384. %A Robin Milner
  1385. %T A Calculus of Communicating Systems
  1386. %S Lecture Notes in Computer Science
  1387. %V 92
  1388. %I Springer-Verlag
  1389. %C Berlin
  1390. %D 1980
  1391. %K grecommended91,
  1392. %K fpst,
  1393. %K CCS parallel process communication theory equivalence congruence
  1394. %O (LA has)
  1395. %X Also see S-V's LNCS Vol. 158 for paper of same title and author, 1983.
  1396. %X Classical text, accessible with little computer science background.
  1397.  
  1398. %A Philip Arne Nelson
  1399. %T Parallel Programming Paradigms
  1400. %I Computer Science Department, University of Washington
  1401. %C Seattle, WA
  1402. %R Technical Report 87-07-02
  1403. %D July 1987
  1404. %K Ph.D. Dissertation
  1405. %K grecommended91,
  1406. %K dmp,
  1407.  
  1408. %A James M. Ortega
  1409. %Z U VA.
  1410. %T Introduction to Parallel and Vector Solution of Linear Systems
  1411. %S Frontiers of Computer Science
  1412. %I Plenum Press
  1413. %D New York
  1414. %D 1988
  1415. %K book, text,
  1416. %K grecommended91,
  1417. %K dwf,
  1418.  
  1419. %A David A. Padua
  1420. %A Michael J. Wolfe
  1421. %Z CSRD, U. Ill.
  1422. %T Advanced Compiler Optimization for Supercomputers
  1423. %J Communications of the ACM
  1424. %V 29
  1425. %N 12
  1426. %D December 1986
  1427. %P 1184-1201
  1428. %K Special issue on parallel processing,
  1429. CR Categories and Subject Descriptors: C.1.2 [Processor Architectures]:
  1430. Multiple Data Stream Architectures (Multiprocessors) -
  1431. array and vector processors;
  1432. multiple-instruction-stream, multiple-data-stream processors (MIMD);
  1433. parallel processors; pipeline processors;
  1434. single-instruction-stream, multiple-data-stream processors (SIMD);
  1435. D.2.7 [Software Engineering]: Distribution and Maintenance -
  1436. restructuring; D.3.3 [Programming Languages] Language Constructs -
  1437. concurrent programming structures; D.3.4 [Programming Languages] Processors -
  1438. code generation; compilers; optimization; preprocessors;
  1439. General Terms: Languages, performance
  1440. %K RCedar,
  1441. %K grecommended91,
  1442. %K ak,
  1443.  
  1444. %A R. H. Perrott
  1445. %T Parallel Programming
  1446. %S International Computer Science Series
  1447. %I Addison-Wesley
  1448. %C Menlo Park
  1449. %D 1987
  1450. %O ISBN 0201 14231 7
  1451. %$ 27
  1452. %K Book, text, Pascal Plus, communication, Modula-2, Ada, Occam,
  1453. mutual exclusion, synchronization, CFT, CFD, Cyber Fortran, FTN,
  1454. distributed array processor, DAP, mesh, ACTUS, Cray, dataflow,
  1455. message passing,
  1456. %K grecommended91,
  1457. %K ps,
  1458. %X An earlier edition of this book was published in 1985.
  1459. Book does not cover hypercubes.
  1460.  
  1461. %A Constantine D. Polychronopoulos
  1462. %T Parallel Programming and Compilers
  1463. %I Kluwer Academic Publishers
  1464. %C Boston
  1465. %D 1988
  1466. %K book, text,
  1467. %K grecommended91,
  1468. %K lls,
  1469.  
  1470. %A T. W. Pratt
  1471. %T Programming Languages: Design and Implementation
  1472. %C Englewood Cliffs, NJ
  1473. %I Prentice-Hall
  1474. %D 1984
  1475. %K book, text,
  1476. %K grecommended91,
  1477. %K fpst,
  1478. %X A good book for those without a background in programming languages.
  1479. Primarily discusses uniprocessor languages; gives examples of many different
  1480. languages. Help non programming language researchers understand the issues.
  1481.  
  1482. %A Michael J. Quinn
  1483. %T Designing Efficient Algorithms for Parallel Computers
  1484. %I McGraw Hill
  1485. %D 1987
  1486. %K Book, text
  1487. %K grecommended91,
  1488. %K dgg, fpst,
  1489. %X Have used in classes. Readable.
  1490.  
  1491. %A Richard M. Russell
  1492. %T The Cray-1 Computer System
  1493. %J Communications of the ACM
  1494. %V 21
  1495. %N 1
  1496. %P 63-72
  1497. %D January 1978
  1498. %K grecommended91,
  1499. existing classic architecture,
  1500. maeder biblio: parallel hardware and devices, implementation,
  1501. ginsberg biblio:
  1502. %K bhibbard
  1503. %K enm, j\-lb,
  1504. %X The original paper describing the Cray-1.
  1505. This paper is reproduced in Kuhn and Padua's (1981, IEEE)
  1506. survey "Tutorial on Parallel Processing."
  1507. Also reproduced in "Computer Structures: Principles and Examples" by
  1508. Daniel P. Siewiorek, C. Gordon Bell, and Allen Newell, McGraw-Hill,
  1509. 1982, pp. 743-752.
  1510. Reproduced in Dharma P. Agrawal's (ed.) "Advanced Computer Architecture,"
  1511. IEEE, 1986, pp.15-24.
  1512. %X Literature search yields:
  1513. 00712248   E.I. Monthly No: EI7804023850   E.I. Yearly No: EI78014612
  1514. Title: Cray-1 Computer System.
  1515. Author: Russell, Richard M.
  1516. Corporate Source: Cray Res Inc, Minneapolis, Minn
  1517. Source: Communications of the ACM v 21 n 1 Jan 1978 p 63-72
  1518. Publication Year: 1978
  1519. CODEN: CACMA2   ISSN: 0001-0782
  1520. Language: ENGLISH
  1521. Journal Announcement: 7804
  1522. Abstract: The CRAY-1 is described, the evolution of its architecture is
  1523. discussed, and an account is given of some of the problems that were
  1524. overcome during its manufacture. The CRAY-1 is the only computer to have
  1525. been built to date that satisfies ERDA's Class VI requirement (a computer
  1526. capable of processing from 20 to 60 million floating point operations per
  1527. second). The CRAY-1's Fortran compiler (CFT) is designed to give the
  1528. scientific user immediate access to the benefits of the CRAY-1's vector
  1529. processing architecture. An optimizing compiler, CFT, " vectorizes "
  1530. innermost DO loops. Compatible with the ANSI 1966 Fortran Standard and with
  1531. many commonly supported Fortran extensions, CFT does not require any source
  1532. program modifications or the use of additional nonstandard Fortran
  1533. statements to achieve vectorization. 6 refs.
  1534. Descriptors: *COMPUTER ARCHITECTURE; COMPUTER SYSTEMS, DIGITAL
  1535. Classification Codes: 722  (Computer Hardware); 723  (Computer Software)
  1536. 72  (COMPUTERS & DATA PROCESSING)
  1537.  
  1538. %A Howard J. Siegel
  1539. %T Interconnection Networks and Masking for Single Instream Multiple Data
  1540. Stream Machines
  1541. %R PhD Dissertation
  1542. %I Princeton University
  1543. %D May 1977
  1544. %O 171 pages
  1545. %K grecommended91,
  1546. %K ag,
  1547. %X I don't reference it much since it is not as easy to get.
  1548. But it is a Good Thing to read.
  1549.  
  1550. %A Lawrence Snyder
  1551. %A Leah H. Jamieson
  1552. %A Dennis B. Gannon
  1553. %A Howard Jay Siegel
  1554. %T Algorithmically Specialized Computers
  1555. %I Academic Press
  1556. %C Orlando, FL
  1557. %D 1985
  1558. %K Rhighnam, analysis, architecture, survey, VLSI, book, text,
  1559. %K grecommended91,
  1560. %K meb,
  1561. %O 510.7862 A394
  1562. %X Proceedings from the Purdue NSF Workshop on Algorithmically Specialized
  1563. Computers.
  1564.  
  1565. %A Harold S. Stone
  1566. %T Introduction to Computer Architecture
  1567. %I Addison-Wesley
  1568. %D 1987
  1569. %K bhibbard, book, text,
  1570. %K grecommended91,
  1571. %K ak,
  1572. %X First entry was dated 1975.  This is the third edition.
  1573. SRA was old publisher.
  1574. %X Has a couple of very good chapters on multiprocessors/multiprocessing.
  1575.  
  1576. %A Quinton F. Stout
  1577. %A Russ Miller
  1578. %T Parallel Algorithms for Regular Architectures
  1579. %I MIT Press
  1580. %D 1988
  1581. %K grecommended91,
  1582. %K fpst,
  1583. %X No direct experience, but I've heard good things.
  1584.  
  1585. %A Richard J. Swan
  1586. %A S. H. Fuller
  1587. %A Daniel P. Siewiorek
  1588. %T Cm* -- A Modular, Multi-Microprocessor
  1589. %J Proceedings AFIPS National Computer Conference
  1590. %I AFIPS Press
  1591. %V 46
  1592. %D 1977
  1593. %P 637-644
  1594. %K CMU, grecommended91
  1595. %K btartar
  1596. %K jlh, dp,
  1597. %X This paper is reproduced in Kuhn and Padua's (1981, IEEE)
  1598. survey "Tutorial on Parallel Processing."
  1599. %X (JLH & DP) Cm* was the first multiprocessor based on microprocessor
  1600. technology.  Despite the limited success of the machine, it's impact and ideas
  1601. are present in many machines being built today including the
  1602. Encore Ultramax (Multimax) and Stanford's DASH.
  1603. %X Literature search yields:
  1604. 00719649   E.I. Monthly No: EI7806040291   E.I. Yearly No: EI78016355
  1605. Title: Cm* -- A Modular, Multi-Microprocessor.
  1606. Author: Swan, R. J.; Fuller, S. H.; Siewiorek, D. P.
  1607. Corporate Source: Carnegie-Mellon Univ, Pittsburgh, Pa
  1608. Source:  AFIPS  Conference  Proceedings v 46 1977, Dallas, Tex, Jun 13-16
  1609. 1977. Publ by AFIPS Press, Montvale, NJ, 1977 p 637-644
  1610. Publication Year: 1977
  1611. CODEN: AFPGBT   ISSN: 0095-6880
  1612. Language: ENGLISH
  1613. Journal Announcement: 7806
  1614. Abstract: The paper describes the architecture of a new large
  1615. multiprocessor computer system being built at Carnegie-Mellon University.
  1616. The system allows close cooperation between large numbers of inexpensive
  1617. processors. All processors share access to a single virtual memory address
  1618. space. There are no arbitrary limits on the number of processors, amount of
  1619. memory or communication bandwidth in the system. Considerable support is
  1620. provided for low-level operating system primitives and inter-process
  1621. communication. 18 refs.
  1622. Descriptors: *COMPUTERS, MICROPROCESSOR
  1623. Classification Codes: 721  (Computer Circuits & Logic Elements); 722
  1624. (Computer Hardware)
  1625. 72  (COMPUTERS & DATA PROCESSING)
  1626.  
  1627. %A Shreekant S. Thakkar
  1628. %A Mark Sweiger
  1629. %T Performance of an OLTP Application on the Symmetry Multiprocessor System
  1630. %J Proc. 17th Annual Symposium on Computer Architecture,
  1631. Computer Architecture News
  1632. %I ACM
  1633. %V 18
  1634. %N 2
  1635. %D June 1990
  1636. %P 228-238
  1637. %K Applications, Sequent,
  1638. %K grecommended91,
  1639. %K jlh, dp,
  1640. %X (JLH & DP) One of the few paper evaluating a
  1641. nonscientific application running on a multiprocessor.
  1642.  
  1643. %Q Thinking Machines Corporation
  1644. %T Connection Machine Model CM-2 technical summary
  1645. %R Technical Report HA87-4
  1646. %C Boston, MA
  1647. %D April 1987
  1648. %K grecommended91, hardware architecture,
  1649. %K Rhighnam, Connection Machine
  1650. %K jlh, dp,
  1651. %X (JLH & DP) Another architecture reference for the CM-2 is Tucker, L.
  1652. and G. Robertson [1988].  "Architecture and Applications of the
  1653. Connection Machine," Computer, vol. 21, no. 8 (August), pages 26-38.
  1654.  
  1655. %A Philip C. Treleaven
  1656. %A David R. Brownbridge
  1657. %A Richard P. Hopkins
  1658. %T Data-Driven and Demand-Driven Computer Architecture
  1659. %J Computing Surveys
  1660. %V 14
  1661. %N 1
  1662. %D March 1982
  1663. %P 93-143
  1664. %K grecommended91,
  1665. CR Categories and Subject Descriptors:
  1666. C.0 [Computer System Organization]:
  1667. General - hardware/software interfaces; system architectures;
  1668. C.1.2 [Processor Architecture]:
  1669. Multiple Data Stream Architectures (Multiprocessors);
  1670. C.1.3 [Processor Architecture]: Other Architecture Styles
  1671. - data flow architectures; high level language architectures;
  1672. D.3.2 [Programming Languages]: Language Classifications - data-flow
  1673. languages; macro and assembly languages; very high-level languages
  1674. General Terms: Design
  1675. Additional Key Words and Phrases: Demand = driven architecture,
  1676. data = driven architecture
  1677. %K Rdf, enm, dmp, ak,
  1678. %X * The aim of this paper is to identify the concepts and relationships
  1679. that exist both within and between the two areas of research of
  1680. data-driven and demand-driven architectures.
  1681. Reproduced in "Selected Reprints on Dataflow and Reduction Architectures"
  1682. ed. S. S. Thakkar, IEEE, 1987, pp. 4-54.
  1683.  
  1684. %A Robert Voigt
  1685. %T Where are the Parallel Algorithms
  1686. %I NASA Langley Research Center
  1687. %R ICASE Report No. 85-2
  1688. %D 1985
  1689. %K grecommended91,
  1690. %K ab,
  1691.  
  1692. %A Chuan-Lin Wu
  1693. %A Tse-Yun Feng
  1694. %T On a Class of Multistage Interconnection Networks
  1695. %J IEEE Transactions on Computers
  1696. %V C-29
  1697. %N 8
  1698. %D August 1980
  1699. %P 694-702
  1700. %K Array processing, computer architecture, conflict resolution,
  1701. interconnection networks, MIMD machine, multiple-processor systems,
  1702. network configurations, parallel processing, routing techniques,
  1703. SIMD machine
  1704. %K Rhighnam, analysis,
  1705. %K grecommended91,
  1706. %K ag,
  1707. %X
  1708. Reproduced in the 1984 tutorial: "Interconnection Networks for parallel
  1709. and distributed processing" by Wu and Feng.
  1710. Also reprinted in the text compiled by Kai Hwang:
  1711. "Supercomputers: Design and Application," IEEE, 1984.
  1712.  
  1713. %A William A. Wulf
  1714. %A Roy Levin
  1715. %A Samuel P. Harbison
  1716. %T HYDRA/C.mmp: An Experimental Computer System
  1717. %I McGraw-Hill
  1718. %D 1981
  1719. %K grecommended91, CMU, C.mmp, HYDRA OS,
  1720. multiprocessor architecture and operating systems
  1721. %K bsatya, book, text,
  1722. %K enm, ag,
  1723. %X * Describes the architecture of C.mmp, and details the goals, design, and
  1724. performance of HYDRA, its capability based OS.
  1725.  
  1726. %A Hans P. Zima
  1727. %A Barbara Chapman
  1728. %T Supercompilers for Parallel and Vector Computers
  1729. %I Addison-Wesley (ACM)
  1730. %D 1990
  1731. %O ISBN 0-201-17560-6
  1732. %K book, text,
  1733. %K grecommended91,
  1734. %K cb@uk,
  1735. %$39.95
  1736. %X Ken Kennedy, in the intro, describes this as the first satisfactory
  1737. textbook on dependence analysis and its application to vectorization and
  1738. parallelization.  Good bibliography.
  1739. %X Contents (chapter headings):-
  1740. 1. Supercomputers and Supercompilers - general stuf,
  1741. architecture, applications, early work...
  1742. 2. Supercomputer Architectures - vector and parallel systems
  1743. 3. Scalar Analysis - control and data flow, monotone data flow
  1744. systems, use-definition chains, dominance relation, simple
  1745. optimizations,...
  1746. 4. Data Dependence - basic concepts and definition, dependence
  1747. testing, algorithms for DD testing.
  1748. 5. Standard Transformations - DO-loop normalization, subscript
  1749. normalization, scalar renaming.
  1750. 6. Vectorization - fundamental transformations, concurrency in
  1751. loops, vector code-generation, loop transformations, control dependence
  1752. and vectorization, procedure calls.
  1753. 7. Parallelization - parallel code generation for DOALL,
  1754. DOACROSS loops, shared memory parallelization, distributed memory
  1755. parallelization.
  1756. 8. Supercompilers and their Environments - case studies of
  1757. 'supercompilers', and issues in their environments.
  1758. A. Tarjan's algorithm
  1759. B. The Banerjee Test
  1760. C. Mathematical Notation
  1761. %X Each chapter has a series of bibliographic notes and there is a large
  1762. bibliography which is very helpful.  The book is quite mathematical in
  1763. style, making familiarity with set notation helpful.  I am most
  1764. interested in tools to aid in automatic parallelization, particularly
  1765. for distributed memory machines, and have therefore read more in the
  1766. chapters more relevant to this area - in particular I haven't read
  1767. chapters 5 or 6 at all.
  1768. Chapters 1 and 2 are fairly standard summaries.
  1769. Chapter 3 (53 pages) provides a fairly weighty intro to scalar analysis.
  1770. Chapter 4 (62 pages): a thorough introduction, including direction
  1771. vectors, gcd, Banerjee and separability tests, etc.  Personally I found
  1772. the book form of Wolfe's thesis (Optimizing Supercompilers for
  1773. Supercomputers) clearer as a newcomer to the field, but everything is
  1774. covered here.
  1775. Chapter 7 (56 pages) is biased towards shared memory systems, as that is
  1776. where most of the exisiting work has been done.  The style is clear, and
  1777. less mathematical in formulation than earlier chapters.  Definitions of
  1778. shared, local, reduction, shared ordered, etc.  variables are clear.
  1779. For the distributed memory case an SPMD model is assumed, and all
  1780. discussion is in terms of this model.
  1781. Chapter 8 (20 pages) gives case studies on Parafrase (Illinois), PFC
  1782. (Rice) and SUPERB (Suprenum) as well as looking at the place of
  1783. parallelization tools within an integrated development environment for
  1784. high-performance computing.
  1785. Overall - good summary of the field, somewhat mathematical, and as Ken
  1786. Kennedy writes in the Foreword:
  1787. "...no satisfactory textbook on dependence analysis and its
  1788. applications to vectorization and parallelization has yet emerged.
  1789. Given the importance of the subject, this is quite surprising.
  1790.  
  1791.  
  1792.